Mainpanel
El mainPanel o panel principal alojará todos los outputs generados por el server como la gráfica, el resumen del dataset, el propio dataset, etc. Para la mejor visualización de la información proveniente de los outputs se organizará el panel principal en tabs o ventanas, cada una de ellas contendrá un output distinto. Para ver más sobre tabs en shiny ver aquí.
La descripción del panel principal se organizará por tabs, y en cada
una se detallará cada componente y output que la forman. Todas las tabs
estarán dentro de la función navbarPage().
Panel plot
En este panel se renderizará el output que contiene la gráfica, para
ello se utiliza la función plotOutput() cuyo unico
parámetro es el outputid del gráfico a representar, además de varios
widgets que ayudarán a la representación y que permiten guardar la
imagen de la gráfica.
El output del gráfico se genera aqui (Output$plot)
El código del panel con el output es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#Panel donde se observa el plot
tabPanel(title = "Plot",
plotOutput("plot"), #oUTPUT DEL PLOT
#WIDGETS QUE CONTIENE EL PANEL
)
)
)Opciones de vista (SelectizeInput)
INPUTID: viewop
SelectizeInput que permite escoger una o multiples opciones que modifican la vista de la gráfica. Todas estas opciones son generales y comunes a todas las gráficas, excepto casos obvios donde no haya funcionalidad. Las diferentes variables entre las que escoger son:
-Simplificar eje x (id: simpx): esta opción modifica los niveles de la variable categorica que hay en el eje x y los sustituye por valores numericos desde el 1 hasta el número de niveles que haya. Esta opción se utiliza cuando las categorias son tan largas que no se leen en el gráfico. Su implementación en el server es aquí(Output$summaryx)
-Simplificar eje y (id: simpy): Similar a simpx, pero en el eje y. Su implementación en el server es aquí(Output$summaryy)
El código que forma este widget es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#Panel donde se observa el plot
tabPanel(title = "Plot",
plotOutput("plot"), # plot output
column(
width = 6, selectizeInput("viewop","Opciones de Vista",
choices = list("Simplificar eje x" = "simpx",
"Simplificar eje y" = "simpy"),multiple = T))
#RESTO DE LA COLUMNA
)
)
)Nombre del Archivo (TextInput)
INPUTID: filename
TextInput
que permite al usuario determinar el nombre del archivo PNG en el que se
guardará la foto de la gráfica, este TextInput tiene un valor inicial
predeterminado que se va actualizando para evitar duplicados en el caso
de que no se escoja un nombre manualmente. Este valor se actualiza en el
server con la función updateTextInput()
aquí (Segundo observador
(save))
El código que forma este widget es el siguiente:
#Panel principal donde se inprime el gráfico
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
#Panel donde se observa el plot
tabPanel(title = "Plot",
plotOutput("plot"),
#RESTO DEL PANEL
textInput("filename", "Nombre del archivo", value = "plot 0"))
)
)Panel Resumen
En este panel se renderizará el output que contiene el resumen de los
datos, para ello se utiliza la función verbatimTextOutput()
cuyo unico parámetro es el outputid del resumen(Output$resumen).
El código del panel con el output es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#PANEL DEL PLOT
#Panel donde se ve el resumen
tabPanel(title = "Resumen", verbatimTextOutput("resumen"))
)
)Panel data
En este panel se renderizará el output que contiene la tabla con los datos que se representan, la tabla con los datos se genera en el server aquí(Joindatos) y el output se genera aquí(Output$tablajoin).
La función para imprimir el output es tableOutput()
cuyo unico parámetro es el outputid de la tabla.
El código del panel con el output es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#PANEL DEL PLOT
#PANEL DE RESUMEN
#Panel donde se ven los datos
tabPanel(title = "Data", tableOutput("tablajoin"))
)
)Panel levels
En este panel se renderizará la relación entre los niveles de las variables que se representan y sus niveles una vez aplicada la simplificación utilizando las opciones de simpx y simpy (Opciones de vista (SelectizeInput)). El texto con esta información se renderiza en el server aquí (Output$summaryx y Output$summaryy).
La función que imprime el output es verbatimTextOutput()
El código del panel con el output es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#PANEL DEL PLOT
#Panel donde se ve la relacion entre los niveles y sus respectivos numeros
# una vez hecha la simplificación de los ejes
tabPanel(title = "Levels", h3("Leyenda de simplificacion eje x"),
verbatimTextOutput("summaryx"),
h3("Leyenda de simplificacion eje y"),
verbatimTextOutput("summaryy")),
)
)Panel guardados
En este panel se renderizarán las imágenes que el usuario elija, las
imágenes se podrán escoger de las que haya en la carpeta
Output\OutputPlot, un máximo de 4. Estas imágenes se
representarán en el orden elegido. El output se genera en el server aquí
(Output$imagenes)
La función que imprime el output es imageOutput()
El código del panel con el output es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
tabPanel(title = "Guardados",
#WIDGET PARA ELEGIR LSAS IMAGENES
imageOutput("imagen1"),
br(), #Ocho veces
imageOutput("imagen2"),
br(), #Ocho veces
imageOutput("imagen3"),
br(), #Ocho veces
imageOutput("imagen4")
)
)
)Imagenes a representar (SelectizeInput)
INPUTID: images
SelectizeInput
que permite escoger una o multiples opciones que representan las
imágenes de la carpeta Output\OutputPlot, se podrán elegir
hasta 4 imágenes que se imprimirán en orden.
Las opciones entre las que elegir se irán actualizando cuando se guarde un archivo nuevo, ver la implementación en Segundo observador (save).
El código que forma este widget es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
tabPanel(title = "Guardados",
selectizeInput("images","Elige las imagenes a representar",
choices = list.files("Output\\OutputPlot"),
multiple = T),
#OUTPUTS
)
)
)Panel GetData
En este panel se podrá extraer ciertos valores estadísticos como la
media, min, max, mediana o summary() del dataset que el
usuario eliga, para ello hay 4 widgets que permiten al usuario filtrar
el tipo de información que quiere sacar. El output se genera en la parte
del server aquí(Output$gotData)
La función que imprime el output es verbatimTextOutput()
El código del panel con el output es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#DEMÁS PANELES
tabPanel("GetData",
#COLUMNAS CON WIDGETS
verbatimTextOutput("gotdata")
#COLUMNAS CON WIDGETS
)
)
)Dato a hallar (SelectInput)
INPUTID: wanteddata
SelectInput que permite escoger los datos estadísticos que se quieren imprimir, las opciones las determina el vector que se observa en el código y cuyos valores son:
El código que forma este widget es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#DEMÁS PANELES
tabPanel("GetData",
column(4,
selectizeInput("wanteddata", "Dato que quieres hallar",
choices = c("media","min","max","mediana", "summary"), multiple = T))
#OTRAS COLUMNAS
#OUTPUT
)
)
)Dataset a hallar (SelectInput)
INPUTID: wanteddataset
SelectInput
que permite escoger el dataset del que se quiere extraer la información,
las opciones vienen determinadas por el vector datasets que
contiene todos los documentos de la carpeta "Input\data",
la linea que lee los documentos de esta carpeta se encuentra en el preambulo (linea 4).
El código que forma este widget es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#DEMÁS PANELES
tabPanel("GetData",
#COLUMNA ANTERIOR
column(4, selectInput("wanteddataset", "Dataset del que sacar el dato",choices = datasets)),
#OTRAS COLUMNAS
#OUTPUT
)
)
)Sexo a hallar (SelectInput)
INPUTID: wantedsexo
SelectInput que permite escoger el sexo del que se quiere extraer la información dentro del dataset, las opciones vienen dadas por el vector descrito en el código, que contiene una opción para cada sexo, otra para Hombres y Mujeres y otra si no se quiere hacer ningún filtrado.
El código que forma este widget es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#DEMÁS PANELES
tabPanel("GetData",
#OTRAS COLUMNAS
column(3, selectInput("wantedcategoric", "Variable categorica",
choices = "N/A"))
#OUTPUT
)
)
)Categoría a hallar (SelectInput)
INPUTID: wantedcategoric
SelectInput
que permite escoger la categoría de la que se quiere extraer la
información, las opciones provienen de los niveles que haya en la
columna que contenga la variable categórica del dataset, el valor
empieza en N/A y se actualiza en el server utilizando la funcion updateselectinput()
en el apartado de Server (Tercer Observador (getData)).
El código que forma este widget es el siguiente:
mainPanel(
#Barra de navegación para acceder a los distintos elementos
navbarPage(
title = strong("VISTA"),
#DEMÁS PANELES
tabPanel("GetData",
#OTRAS COLUMNAS
column(3, selectInput("wantedcategoric", "Variable categorica",
choices = "N/A"))
#OUTPUT
)
)
)